#ifndef BATCH_H
#define BATCH_H


#define BATCHING_MODE_NONE             0
#define BATCHING_LOCAL_TIMEBASED       1
#define BATCHING_LOCAL_FULLBATCHING    2
#define BATCHING_LOCAL_REQBASED        3 
#define BATCHING_MODE_GLOBAL           4
#define BATCHING_GLOBAL_TIMEBASED      5
#define BATCHING_GLOBAL_FULLBATCHING   6
#define BATCHING_GLOBAL_REQBASED       7 
#define BATCHING_GLOBAL_PACKETBASED    8
#define BATCHING_RANKING_ONLY          9 
#define BATCHING_RANKING_NONE          10 
#define BATCHING_GLOBAL_TB_FULLBATCHING   11


void UpdateBatchId();
void UpdateBatchCounter();
int FindPriority(int RankNode, int InjectingNode);
void UpdateOldestBatch();

#endif
